<template>
	<view class="content">
		<view style="width: 100%; height: 200rpx; border: red solid 1rpx;">导航栏上面内容</view>
		<view class="switchSign"></view>
		<view class="tagTop" :class="{ 'topfixed-active': topfixed == 1 }">
			<view class="">导航栏</view>
		</view>
		<view class="wrap" :class="{ paTop80: topfixed == 1 }">
			<view class="" style="border: solid #007AFF 1rpx; width: 100%; height: 600rpx; text-align: center;">导航栏下面内容</view>
			<view class="" style="border: solid #007AFF 1rpx; width: 100%; height: 600rpx; text-align: center;">导航栏下面内容</view>
			<view class="" style="border: solid #007AFF 1rpx; width: 100%; height: 600rpx; text-align: center;">导航栏下面内容</view>
			<view class="" style="border: solid #007AFF 1rpx; width: 100%; height: 600rpx; text-align: center;">导航栏下面内容</view>
			<view class="" style="border: solid #007AFF 1rpx; width: 100%; height: 600rpx; text-align: center;">导航栏下面内容</view>
			<view class="" style="border: solid #007AFF 1rpx; width: 100%; height: 600rpx; text-align: center;">导航栏下面内容</view>
			<view class="" style="border: solid #007AFF 1rpx; width: 100%; height: 600rpx; text-align: center;">导航栏下面内容</view>
		</view>
	</view>
</template>
<script>
export default {
	data() {
		return {
			topfixed: 0
		};
	},
	onPageScroll(res) {
		var _this = this;
		var temptop;
		//uni.createSelectorQuery()返回一个 SelectorQuery 对象实例。
		//可以在这个实例上使用 select 等方法选择节点，
		const query = uni.createSelectorQuery();
		//select在当前页面下选择第一个匹配选择器的节点，
		//boundingClientRect添加节点的布局位置的查询请求。其功能类似于 DOM 的 getBoundingClientRect。
		query.select('.switchSign').boundingClientRect();
		//selectViewport选择显示区域，可用于获取显示区域的尺寸、滚动位置等信息
		//scrollOffset添加节点的滚动位置查询请求。
		query.selectViewport().scrollOffset();
		//exec执行所有的请求。请求结果按请求次序构成数组，在callback的第一个参数中返回。
		query.exec(function(res) {
			// console.log(res);
			res[0].top; // .switchSign节点距离上边界的坐标
			res[1].scrollTop; // 显示区域的竖直滚动位置
			temptop = res[0].top;
			if (temptop <= '2') {
				console.log(_this.topfixed);
				_this.topfixed = 1;
			} else {
				console.log(_this.topfixed);
				_this.topfixed = 0;
			}
		});
	}
};
</script>

<style>
.topfixed-active {
	width: 100%;
	padding: 0 25upx;
	position: fixed;
	top: var(--window-top);/* 顶部导航栏位置 */
	/* top: calc(9.3vh + var(--window-top)); *//* 顶部导航栏还有其他盒子 使用  */
	left: 0;
	background: #fff;
	z-index: 9;
	box-sizing: border-box;
}
.tagTop {
	height: 80upx;
	line-height: 80upx;
	background-color: #eeeeee;
	text-align: center;
}
.paTop80 {
	padding-top: 80upx;
}
</style>

